package com.unism.uniMeterage.meterage.stream.version1_0;

import java.util.List;
import java.util.concurrent.ConcurrentLinkedQueue;

/**
 * @author liuc
 * 工作节点任务接口
 */
public interface WorkNode {
    /**
     * 初始化工作节点
     */
    public void init();
    /**
     * 执行工作节点
     */
    public Boolean execute(List<Object> data);
    /**
     * 销毁工作节点
     */
    public void destory();

    /**
     *节点发布数据
     */
    public void pubish(String name,Object data);
    /**
     *节点订阅数据
     */
    public List<Object> subscribe(Integer num);

    public void failure(Object obj);
    public void success(Object obj);
    public String getName();
    public Thread  currThread();
    public ConcurrentLinkedQueue currQueue();
    public Integer currStatus();
}
